package com.bit.cfdi.web.utils;

import java.util.Calendar;
import java.util.List;

import javax.annotation.PostConstruct;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.bit.cfdi.web.domain.CampoExtraComprobante;
import com.bit.cfdi.web.domain.DBConstants;
import com.bit.cfdi.web.domain.Descuento;
import com.bit.cfdi.web.domain.Estado;
import com.bit.cfdi.web.domain.EstructuraMoneda;
import com.bit.cfdi.web.domain.Etiqueta;
import com.bit.cfdi.web.domain.FormaPago;
import com.bit.cfdi.web.domain.Giro;
import com.bit.cfdi.web.domain.Impuesto;
import com.bit.cfdi.web.domain.MetodoPago;
import com.bit.cfdi.web.domain.Pais;
import com.bit.cfdi.web.domain.ProductosIEPS;
import com.bit.cfdi.web.domain.Regimen;
import com.bit.cfdi.web.domain.UnidadMedida;
import com.bit.cfdi.web.services.CampoExtraComprobanteService;
import com.bit.cfdi.web.services.CiudadService;
import com.bit.cfdi.web.services.DescuentoService;
import com.bit.cfdi.web.services.EstadoService;
import com.bit.cfdi.web.services.EstructuraMonedaService;
import com.bit.cfdi.web.services.EtiquetaService;
import com.bit.cfdi.web.services.FormaPagoService;
import com.bit.cfdi.web.services.GiroService;
import com.bit.cfdi.web.services.ImpuestoService;
import com.bit.cfdi.web.services.MetodoPagoService;
import com.bit.cfdi.web.services.MunicipioService;
import com.bit.cfdi.web.services.PaisService;
import com.bit.cfdi.web.services.ProductoIEPSService;
import com.bit.cfdi.web.services.RegimenService;
import com.bit.cfdi.web.services.UnidadMedidaService;

public class DefaultDBValues extends HibernateDaoSupport {
	
	@Autowired private ProductoIEPSService productoIEPSService;
	@Autowired private ImpuestoService impuestoService;
	@Autowired private MetodoPagoService metodoPagoService;
	@Autowired private FormaPagoService formaPagoService;		
	@Autowired private RegimenService regimenService;
	@Autowired private CampoExtraComprobanteService campoExtraComprobanteService;
	//@Autowired private LeyendaService leyendaService;
	@Autowired private EtiquetaService etiquetaService;
	//@Autowired private FirmaService firmaService;
	@Autowired private GiroService giroService;
	@Autowired private DescuentoService descuentoService;
	//@Autowired private GiroCampoExtraComprobanteService giroCampoExtraComprobanteService;
	//@Autowired private GiroDescuentoService giroDescuentoService;
    //@Autowired private GiroFirmaService giroFirmaService;
	//@Autowired private GiroImpuestoService giroImpuestoService;
	//@Autowired private GiroEtiquetaService giroEtiquetaService;
	//@Autowired private GiroLeyendaService giroLeyendaService;
	//@Autowired private LeyendaFiscalService getLeyendaFiscalService;
	@Autowired private EstructuraMonedaService getEstructuraMonedaService;
	@Autowired private UnidadMedidaService getUnidadMedidaService;
	@Autowired private PaisService paisService;
	@Autowired private EstadoService estadoService;
	@Autowired private CiudadService ciudadService;
	@Autowired private MunicipioService municipioService;
	
	
	
	@Autowired
	public void init(final SessionFactory sessionFactory) {		
		setSessionFactory(sessionFactory);
	}
	
	
	/**DATOS DE CARGA INICIAL PARA LA BASE DE DATOS*/
	@PostConstruct
	public void insertDBDefaultValues() {
		createIVAValues();
		List<Impuesto> impuestoList = impuestoService.getAll();
		if (impuestoList != null && impuestoList.isEmpty()) {
			createIEPSValues();
			createISSHValues();
			createISRValues();
			createISF();	
		}
		createIEPSProducts();
		createPaymentMethod();
		fillFormaPagoEntity();
		fillRegimenEntity();
		fillCampoExtraComprobante();
		//fillLeyenda();
		fillEtiqueta();
		//fillFirma();
		createGiros();
		createLeyendasFiscales();
		fillMonedas();
		fillUnidadMedida();
		fillCountriesStatesAndCities();
	}
	/**IMPUESTO AL VALOR AGREGADO*/
	private void createIVAValues() {
		List<Impuesto> impuestos =	impuestoService.getAll();
		if (impuestos != null && impuestos.isEmpty()) {
			/*16%*/
			Impuesto impuesto = new Impuesto();		
			//impuesto.setAplicaA(Impuesto.APLICA_A_FACTURA);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setImpuestoPorDefecto(true);
			impuesto.setSiglaImpuesto(Impuesto.IMP_VALOR_AGREGADO);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IVA);
			impuesto.setTasa(Impuesto.TASA_IVA);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);	
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);
			
			/*11%*/
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_FACTURA);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setImpuestoPorDefecto(false);
			impuesto.setSiglaImpuesto(Impuesto.IMP_VALOR_AGREGADO);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IVA);
			impuesto.setTasa(Impuesto.TASA_IVA_FRONTERA);		
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);
			
			/*4%*/
			/*impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_FACTURA);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setImpuestoPorDefecto(false);
			impuesto.setSiglaImpuesto(Impuesto.IMP_VALOR_AGREGADO);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IVA);
			impuesto.setTasa(Impuesto.TASA_IVA_EXPORTACION);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);*/		
			
			/*exento */
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_CONCEPTO);	
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_VALOR_AGREGADO);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IVA_EXENTO);
			impuesto.setTasa(null);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);
			
			/*Tasa 0*/
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_CONCEPTO);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_VALOR_AGREGADO);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IVA_TASA_0);
			impuesto.setTasa(Impuesto.TASA_CERO);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);	
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);	
			
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_FACTURA);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_RET_IVA);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_RET_IVA);
			impuesto.setTasa(Impuesto.TASA_RET_IVA);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);
			
			/*Retenci\u00F3n 7.333333*/
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_FACTURA);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_RET_IVA);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_RET_IVA);
			impuesto.setTasa(Impuesto.TASA_RET_IVA_FRONTERA);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);
			
			/*Retencion 16*/
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_FACTURA);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_RET_IVA);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_RET_IVA);
			impuesto.setTasa(Impuesto.TASA_RET_IVA_COMPLETO);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);
			
			/*Retenci\u00F3n 11*/
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_FACTURA);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_RET_IVA);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_RET_IVA);
			impuesto.setTasa(Impuesto.TASA_RET_IVA_COMPLETO_FRONTERA);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);	
		}
		
	}
	
	/**IMPUESTO ESPECIAL SOBRE PRODUCCI\u00D3N Y SERVICIOS*/
	private void createIEPSValues() {		
			Impuesto impuesto = new Impuesto();
			
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_CONCEPTO);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_ESPECIAL_PROD_SERV);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IEPS);
			impuesto.setTasa(160.0);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);			
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);	
			
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_CONCEPTO);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_ESPECIAL_PROD_SERV);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IEPS);
			impuesto.setTasa(30.0);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);		
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);
			
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_CONCEPTO);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_ESPECIAL_PROD_SERV);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IEPS);
			impuesto.setTasa(25.0);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);		
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);			
			
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_CONCEPTO);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_ESPECIAL_PROD_SERV);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IEPS);
			impuesto.setTasa(10.0);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);	
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);
			
			impuesto = new Impuesto();
			//impuesto.setAplicaA(Impuesto.APLICA_A_CONCEPTO);
			impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
			impuesto.setSiglaImpuesto(Impuesto.IMP_ESPECIAL_PROD_SERV);
			impuesto.setNombreImpuesto(Impuesto.LEYENDA_IEPS);
			impuesto.setTasa(53.0);
			impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
			impuesto.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto);			
	}
	
	/**IMPUESTO SOBRE SERVICIOS HOTELEROS*/
	private void createISSHValues() {
		Impuesto impuesto = new Impuesto();	
		//impuesto.setAplicaA(Impuesto.APLICA_A_CONCEPTO);
		impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
		impuesto.setSiglaImpuesto(Impuesto.IMP_SOBRE_SERV_HOTELEROS);
		impuesto.setNombreImpuesto(Impuesto.LEYENDA_ISSH);
		impuesto.setTasa(0.0);
		impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
		impuesto.setImpuestoPorDefecto(true);
		impuestoService.save(impuesto);
	}
	
	/**IMPUESTO SOBRE LA RENTA*/
	private void createISRValues() {
		Impuesto impuesto = new Impuesto();
		//impuesto.setAplicaA(Impuesto.APLICA_A_SERVICIOS);
		impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
		impuesto.setSiglaImpuesto(Impuesto.IMP_SOBRE_RENTA);
		impuesto.setNombreImpuesto(Impuesto.LEYENDA_ISR);
		impuesto.setTasa(10.0);
		impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
		impuesto.setImpuestoPorDefecto(true);
		impuestoService.save(impuesto);
	}
	
	/**IMPUESTO SOBRE FLETE*/
	private void createISF() {		
		Impuesto impuesto = new Impuesto();
		//impuesto.setAplicaA(Impuesto.APLICA_A_CONCEPTO);
		impuesto.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
		impuesto.setSiglaImpuesto(Impuesto.IMP_SOBRE_FLETE);
		impuesto.setNombreImpuesto(Impuesto.LEYENDA_ISF);
		impuesto.setTasa(4.0);
		impuesto.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
		impuesto.setImpuestoPorDefecto(true);
		impuestoService.save(impuesto);
	}
	
	/**PRODUCTOS CON IEPS*/
	private void createIEPSProducts() {
		List<ProductosIEPS> IepsList = productoIEPSService.getAll();
		if (IepsList != null && IepsList.isEmpty()) {
			ProductosIEPS productoIEPS = new ProductosIEPS();		
			Impuesto impuesto = impuestoService.getBySiglaTasa(Impuesto.IMP_ESPECIAL_PROD_SERV, 160.0);
			
			productoIEPS.setImpuesto(impuesto);
			productoIEPS.setNombre("Tabaco sencillo");
			productoIEPS.setTipoProducto(ProductosIEPS.TIPO_PRODUCTO_IEPS_TABACO);		
			productoIEPSService.save(productoIEPS);
			
			productoIEPS = new ProductosIEPS();
			
			productoIEPS.setImpuesto(impuesto);
			productoIEPS.setNombre("Tabaco Puro");
			productoIEPS.setTipoProducto(ProductosIEPS.TIPO_PRODUCTO_IEPS_TABACO);
			productoIEPSService.save(productoIEPS);
			
			productoIEPS = new ProductosIEPS();

			impuesto = impuestoService.getBySiglaTasa(Impuesto.IMP_ESPECIAL_PROD_SERV, 30.0);
			productoIEPS.setImpuesto(impuesto);
			productoIEPS.setNombre("Tabaco hecho a mano");
			productoIEPS.setTipoProducto(ProductosIEPS.TIPO_PRODUCTO_IEPS_TABACO);
			productoIEPSService.save(productoIEPS);

			productoIEPS = new ProductosIEPS();
			
			productoIEPS.setImpuesto(impuesto);
			productoIEPS.setNombre("Entre 14 y 20 grados");
			productoIEPS.setTipoProducto(ProductosIEPS.TIPO_PRODUCTO_IEPS_ALCOHOL);
			productoIEPSService.save(productoIEPS);
			
			productoIEPS = new ProductosIEPS();
				
			productoIEPS.setImpuesto(impuestoService.getBySiglaTasa(Impuesto.IMP_ESPECIAL_PROD_SERV, 25.0));
			productoIEPS.setNombre("Hasta 14 grados");
			productoIEPS.setTipoProducto(ProductosIEPS.TIPO_PRODUCTO_IEPS_ALCOHOL);
			productoIEPSService.save(productoIEPS);
			
			
			productoIEPS = new ProductosIEPS();
			
			productoIEPS.setImpuesto(impuestoService.getBySiglaTasa(Impuesto.IMP_ESPECIAL_PROD_SERV, 53.0));
			productoIEPS.setNombre("Superior a 20 grados");
			productoIEPS.setTipoProducto(ProductosIEPS.TIPO_PRODUCTO_IEPS_ALCOHOL);
			productoIEPSService.save(productoIEPS);		
		}
		
	}
	
	/**METODOS DE PAGO*/
	private void createPaymentMethod(){
		List<MetodoPago> listMetodoPago = metodoPagoService.getAll();
		if (listMetodoPago != null && listMetodoPago.isEmpty()) {
			MetodoPago metodoPago = new MetodoPago();
			
			metodoPago.setDescripcion(MetodoPago.TIPO_METODO_PAGO_EFECTIVO);
			metodoPago.setFechaModificacion(Calendar.getInstance());
			metodoPagoService.save(metodoPago);
			
			metodoPago.setDescripcion(MetodoPago.TIPO_METODO_PAGO_CHEQUE);
			metodoPago.setFechaModificacion(Calendar.getInstance());
			metodoPagoService.save(metodoPago);
			
			metodoPago.setDescripcion(MetodoPago.TIPO_METODO_PAGO_TRANSFERENCIA);
			metodoPago.setFechaModificacion(Calendar.getInstance());
			metodoPagoService.save(metodoPago);
			
			metodoPago.setDescripcion(MetodoPago.TIPO_METODO_PAGO_DEPOSITO);
			metodoPago.setFechaModificacion(Calendar.getInstance());
			metodoPagoService.save(metodoPago);
			
			metodoPago.setDescripcion(MetodoPago.TIPO_METODO_PAGO_TARJETA);
			metodoPago.setFechaModificacion(Calendar.getInstance());
			metodoPago.setCuentaActiva(true);
			metodoPagoService.save(metodoPago);
			
			metodoPago.setDescripcion(MetodoPago.TIPO_METODO_PAGO_OTRO);
			metodoPago.setFechaModificacion(Calendar.getInstance());
			metodoPagoService.save(metodoPago);
			
			metodoPago.setDescripcion(MetodoPago.TIPO_METODO_PAGO_NO_IDENTIFICADO);
			metodoPago.setCuentaActiva(true);		
			metodoPago.setFechaModificacion(Calendar.getInstance());
			metodoPagoService.save(metodoPago);
		}
		
	}
	
	private void fillFormaPagoEntity() {
		List<FormaPago> formaPagoList = formaPagoService.getAll();
		if (formaPagoList == null || formaPagoList.isEmpty()) {
			FormaPago formaPago = new FormaPago();
			formaPago.setDescripcion("pago en una sola exhibici\u00F3n");		
			formaPagoService.save(formaPago);
			formaPago = new FormaPago();
			formaPago.setDescripcion("Parcialidades x de y");
			formaPagoService.save(formaPago);			
		}
	}
	
	private void fillRegimenEntity() {
		List<Regimen> regimenList = regimenService.getAll();
		if (regimenList != null && regimenList.isEmpty()) {
			/*
			Regimen regimen = new Regimen();
			regimen.setDescripcion("R\u00E9gimen general");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);
			
			regimen = new Regimen();
			regimen.setDescripcion("Fines no lucrativos");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		

			regimen = new Regimen();
			regimen.setDescripcion("Asociaciones Religiosas");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);
			
			regimen = new Regimen();
			regimen.setDescripcion("R\u00E9gimen simplificado");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);
			
			regimen = new Regimen();
			regimen.setDescripcion("Arrendamiento de bienes inmuebles");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);
			
			regimen = new Regimen();
			regimen.setDescripcion("Prestaci\u00F3n de servicios");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);
			
			regimen = new Regimen();
			regimen.setDescripcion("Actividades comerciales");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);
			
			regimen = new Regimen();
			regimen.setDescripcion("Trabajar por salarios");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);
					*/
			/*Regimen regimen = new Regimen();
			regimen.setDescripcion("Sueldos y Salarios");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);		*/
			Regimen regimen = new Regimen();
			regimen.setDescripcion("Sueldos y Salarios");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		
			/*
			regimen = new Regimen();
			regimen.setDescripcion("Actividad Empresarial y Profesional");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);*/		
			regimen = new Regimen();
			regimen.setDescripcion("Actividad Empresarial y Profesional");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		
			/*
			regimen = new Regimen();
			regimen.setDescripcion("R\u00E9gimen Intermediario");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);*/		
			regimen = new Regimen();
			regimen.setDescripcion("R\u00E9gimen Intermediario");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);	
			/*
			regimen = new Regimen();
			regimen.setDescripcion("Peque\u00F1o Contribuyente");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);*/		
			regimen = new Regimen();
			regimen.setDescripcion("Peque\u00F1o Contribuyente");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		
			/*
			regimen = new Regimen();
			regimen.setDescripcion("Arrendamiento");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);*/		
			regimen = new Regimen();
			regimen.setDescripcion("Arrendamiento");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		
			
			/*
			regimen = new Regimen();
			regimen.setDescripcion("Enajenaci\u00F3n de Bienes");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);*/		
			regimen = new Regimen();
			regimen.setDescripcion("Enajenaci\u00F3n de Bienes");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);
				/*
			regimen = new Regimen();
			regimen.setDescripcion("Adquisici\u00F3n de Bienes");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);	*/	
			regimen = new Regimen();
			regimen.setDescripcion("Adquisici\u00F3n de Bienes");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		
			
			/*
			regimen = new Regimen();
			regimen.setDescripcion("Intereses");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);	*/	
			regimen = new Regimen();
			regimen.setDescripcion("Intereses");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);	
			/*
			regimen = new Regimen();
			regimen.setDescripcion("Obtenci\u00F3n de Premios");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);	*/	
			regimen = new Regimen();
			regimen.setDescripcion("Obtenci\u00F3n de Premios");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		
			/*
			regimen = new Regimen();
			regimen.setDescripcion("Dividendos");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);*/		
			regimen = new Regimen();
			regimen.setDescripcion("Dividendos");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		
			
			/*
			regimen = new Regimen();
			regimen.setDescripcion("Dem\u00E1s ingresos P.F");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);	*/	
			regimen = new Regimen();
			regimen.setDescripcion("Dem\u00E1s ingresos P.F");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);
			/*
			regimen = new Regimen();
			regimen.setDescripcion("General de Ley P. M");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);	*/	
			regimen = new Regimen();
			regimen.setDescripcion("General de Ley P. M");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		
			/*
			regimen = new Regimen();
			regimen.setDescripcion("Consolidaci\u00F3n Fiscal");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);	*/	
			regimen = new Regimen();
			regimen.setDescripcion("Consolidaci\u00F3n Fiscal");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);		
			
			/*
			regimen = new Regimen();
			regimen.setDescripcion("R\u00E9gimen Simplificado");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);	*/	
			regimen = new Regimen();
			regimen.setDescripcion("R\u00E9gimen Simplificado");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);
			/*
			regimen = new Regimen();
			regimen.setDescripcion("P.M. Fin No lucrativo");
			regimen.setPersonaFiscal("Personas f\u00EDsicas");
			regimenService.save(regimen);	*/	
			regimen = new Regimen();
			regimen.setDescripcion("P.M. Fin No lucrativo");
			regimen.setPersonaFiscal("Personas morales");
			regimenService.save(regimen);	
		}
	}
			
	private void fillCampoExtraComprobante() {
		List<CampoExtraComprobante> campoEList = campoExtraComprobanteService.getAll();
		if (campoEList == null || campoEList.isEmpty()) {
			CampoExtraComprobante campoExtraComprobante = new CampoExtraComprobante();
			campoExtraComprobante.setIdentificador("Campo Adicional 1");
			campoExtraComprobante.setNombreCampo("Campo Adicional 1");
			campoExtraComprobanteService.save(campoExtraComprobante);
			
			campoExtraComprobante = new CampoExtraComprobante();
			campoExtraComprobante.setIdentificador("Campo Adicional 2");
			campoExtraComprobante.setNombreCampo("Campo Adicional 2");
			campoExtraComprobanteService.save(campoExtraComprobante);
			
			campoExtraComprobante = new CampoExtraComprobante();
			campoExtraComprobante.setIdentificador("Campo Adicional 3");
			campoExtraComprobante.setNombreCampo("Campo Adicional 3");
			campoExtraComprobanteService.save(campoExtraComprobante);
			
			campoExtraComprobante = new CampoExtraComprobante();
			campoExtraComprobante.setIdentificador("Campo Adicional 4");
			campoExtraComprobante.setNombreCampo("Campo Adicional 4");
			campoExtraComprobanteService.save(campoExtraComprobante);
			
			campoExtraComprobante = new CampoExtraComprobante();
			campoExtraComprobante.setIdentificador("Campo Adicional 5");
			campoExtraComprobante.setNombreCampo("Campo Adicional 5");
			campoExtraComprobanteService.save(campoExtraComprobante);
					
			campoExtraComprobante = new CampoExtraComprobante();
			campoExtraComprobante.setIdentificador("Campo Adicional 6");
			campoExtraComprobante.setNombreCampo("Campo Adicional 6");
			campoExtraComprobanteService.save(campoExtraComprobante);
		}
	}
	/*
	private void fillLeyenda(){
		Leyenda leyenda = new Leyenda();
		leyenda.setIdentificador("Leyenda 1");
		leyenda.setTitulo("");
		leyenda.setValorPredeterminado("");
		leyendaService.save(leyenda);
	}*/
	
	private void fillEtiqueta() {
		List<Etiqueta> etiquetaList = etiquetaService.getAll();
		if (etiquetaList != null && etiquetaList.isEmpty()) {
			Etiqueta etiqueta = new Etiqueta();
			etiqueta.setIdentificador("Etiqueta 1");
			etiqueta.setEtiqueta("");		
			etiquetaService.save(etiqueta);
			
			etiqueta = new Etiqueta();
			etiqueta.setIdentificador("Etiqueta 2");
			etiqueta.setEtiqueta("");		
			etiquetaService.save(etiqueta);	
		}
		
	}
	/*
	private void fillFirma(){
		Firma firma = new Firma();
		firma.setIdentificador("Firma 1");
		firma.setTitulo("");
		firma.setArea("");
		firma.setNombre("");
		firma.setPuesto("");		
		firmaService.save(firma);
		
		firma = new Firma();
		firma.setIdentificador("Firma 2");
		firma.setTitulo("");
		firma.setArea("");
		firma.setNombre("");
		firma.setPuesto("");		
		firmaService.save(firma);
	}
	*/
	/**
	 * Creaci\u00F3n de Giros
	 */
	private void createGiros() {
		List<Giro> giros =  giroService.getAll();
		if (giros == null || giros.isEmpty()) {
			CampoExtraComprobante campoExtraComprobante513 = new CampoExtraComprobante();
			campoExtraComprobante513.setFechaModificacion(Calendar.getInstance());
			campoExtraComprobante513.setIdentificador("OBS");
			campoExtraComprobante513.setNombreCampo("OBSERVACIONES:");
			campoExtraComprobante513.setStatus(DBConstants.STATUS_ACTIVE);
			campoExtraComprobanteService.save(campoExtraComprobante513);
			
			CampoExtraComprobante campoExtraComprobante216 = new CampoExtraComprobante();
			campoExtraComprobante216.setFechaModificacion(Calendar.getInstance());
			campoExtraComprobante216.setIdentificador("REMI_NO");
			campoExtraComprobante216.setNombreCampo("REMISI\u00D3N No.");
			campoExtraComprobante216.setStatus(DBConstants.STATUS_ACTIVE);		
			campoExtraComprobanteService.save(campoExtraComprobante216);
					
			CampoExtraComprobante campoExtraComprobante1216 = new CampoExtraComprobante();
			campoExtraComprobante1216.setFechaModificacion(Calendar.getInstance());
			campoExtraComprobante1216.setIdentificador("NET_PAGAR");
			campoExtraComprobante1216.setNombreCampo("FOLIO");
			campoExtraComprobante1216.setStatus(DBConstants.STATUS_ACTIVE);
			campoExtraComprobanteService.save(campoExtraComprobante1216);
			
			CampoExtraComprobante campoExtraComprobante320 = new CampoExtraComprobante();
			campoExtraComprobante320.setFechaModificacion(Calendar.getInstance());
			campoExtraComprobante320.setIdentificador("RFC");
			campoExtraComprobante320.setNombreCampo("R.F.C.");
			campoExtraComprobante320.setStatus(DBConstants.STATUS_ACTIVE);
			campoExtraComprobanteService.save(campoExtraComprobante320);		
			
			Impuesto impuesto11 = new Impuesto();
			impuesto11.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
			impuesto11.setFechaModificacion(Calendar.getInstance());
			impuesto11.setNombreImpuesto("5% AL MILLAR");
			impuesto11.setSiglaImpuesto("5MILLAR");
			impuesto11.setStatus(DBConstants.STATUS_ACTIVE);
			impuesto11.setTasa(new Double(5.0));
			impuesto11.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
			impuesto11.setImpuestoPorDefecto(true);
			impuestoService.save(impuesto11);
			
			Descuento desc17 = new Descuento();
			desc17.setDescripcion("AMORTIZACI\u00D3N");
			desc17.setFechaModificacion(Calendar.getInstance());
			desc17.setMonto(new Double(0));
			desc17.setStatus(DBConstants.STATUS_ACTIVE);
			descuentoService.save(desc17);
			
			{
			Giro giro1 = new Giro();
			giro1.setDescripcion("ACTIVIDADES INMOBILIARIAS EMPRESARIALES Y DE ALQUILER");
			giro1.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro1);
			/*
				GiroCampoExtraComprobante giroCE11 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante11 = new CampoExtraComprobante();
				campoExtraComprobante11.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante11.setIdentificador("CONT_TEL");
				campoExtraComprobante11.setNombreCampo("CONTACTO TEL:");
				campoExtraComprobante11.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante11);				
				giroCE11.setCampoExtraComprobante(campoExtraComprobante11);
				giroCE11.setGiro(giro1);		
				giroCE11.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE11);
				
				GiroImpuesto giroImp11 = new GiroImpuesto();
				giroImp11.setFechaModificacion(Calendar.getInstance());
				giroImp11.setGiro(giro1);
				giroImp11.setImpuesto(impuesto11);
				giroImpuestoService.save(giroImp11);
				
			Giro giro5 = new Giro();
			giro5.setDescripcion("CONSULTORIA");
			giro5.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro5);
			
				GiroImpuesto giroImp15 = new GiroImpuesto();
				giroImp15.setFechaModificacion(Calendar.getInstance());
				giroImp15.setGiro(giro5);
				giroImp15.setImpuesto(impuesto11);
				giroImpuestoService.save(giroImp15);
			}
			
			{
			Giro giro2 = new Giro();
			giro2.setDescripcion("AGENCIA AUTOMOTRIZ");
			giro2.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro2);
			
				GiroCampoExtraComprobante giroCE12 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante12 = new CampoExtraComprobante();
				campoExtraComprobante12.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante12.setIdentificador("NO_INV");
				campoExtraComprobante12.setNombreCampo("No. DE INVENTARIO");
				campoExtraComprobante12.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante12);				
				giroCE12.setCampoExtraComprobante(campoExtraComprobante12);
				giroCE12.setGiro(giro2);		
				giroCE12.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE12);
				
				GiroCampoExtraComprobante giroCE22 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante22 = new CampoExtraComprobante();
				campoExtraComprobante22.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante22.setIdentificador("NO_SER_VIN");
				campoExtraComprobante22.setNombreCampo("No. DE SERIE \u00F3 VIN");
				campoExtraComprobante22.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante22);		
				giroCE22.setCampoExtraComprobante(campoExtraComprobante22);
				giroCE22.setGiro(giro2);		
				giroCE22.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE22);
			
				GiroCampoExtraComprobante giroCE32 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante32 = new CampoExtraComprobante();
				campoExtraComprobante32.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante32.setIdentificador("NO_MOT");
				campoExtraComprobante32.setNombreCampo("No. DE MOTOR");
				campoExtraComprobante32.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante32);
				giroCE32.setCampoExtraComprobante(campoExtraComprobante32);
				giroCE32.setGiro(giro2);		
				giroCE32.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE32);
				
				GiroCampoExtraComprobante giroCE42 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante42 = new CampoExtraComprobante();
				campoExtraComprobante42.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante42.setIdentificador("NO_CIL");
				campoExtraComprobante42.setNombreCampo("No. DE CILINDROS");
				campoExtraComprobante42.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante42);
				giroCE42.setCampoExtraComprobante(campoExtraComprobante42);
				giroCE42.setGiro(giro2);		
				giroCE42.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE42);
				
				GiroCampoExtraComprobante giroCE52 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante52 = new CampoExtraComprobante();
				campoExtraComprobante52.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante52.setIdentificador("MARC");
				campoExtraComprobante52.setNombreCampo("MARCA");
				campoExtraComprobante52.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante52);
				giroCE52.setCampoExtraComprobante(campoExtraComprobante52);
				giroCE52.setGiro(giro2);		
				giroCE52.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE52);
				
				GiroCampoExtraComprobante giroCE62 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante62 = new CampoExtraComprobante();
				campoExtraComprobante62.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante62.setIdentificador("REG_FED_VEH");
				campoExtraComprobante62.setNombreCampo("REGISTRO FEDERAL VEHICULAR");
				campoExtraComprobante62.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante62);
				giroCE62.setCampoExtraComprobante(campoExtraComprobante62);
				giroCE62.setGiro(giro2);		
				giroCE62.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE62);
				
				GiroCampoExtraComprobante giroCE72 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante72 = new CampoExtraComprobante();
				campoExtraComprobante72.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante72.setIdentificador("COL");
				campoExtraComprobante72.setNombreCampo("COLOR");
				campoExtraComprobante72.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante72);
				giroCE72.setCampoExtraComprobante(campoExtraComprobante72);
				giroCE72.setGiro(giro2);		
				giroCE72.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE72);
		
				GiroCampoExtraComprobante giroCE82 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante82 = new CampoExtraComprobante();
				campoExtraComprobante82.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante82.setIdentificador("A\u00D1O");
				campoExtraComprobante82.setNombreCampo("A\u00D1O");
				campoExtraComprobante82.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante82);
				giroCE82.setCampoExtraComprobante(campoExtraComprobante82);
				giroCE82.setGiro(giro2);		
				giroCE82.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE82);
				
				GiroCampoExtraComprobante giroCE92 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante92 = new CampoExtraComprobante();
				campoExtraComprobante92.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante92.setIdentificador("NUE_SEMI");
				campoExtraComprobante92.setNombreCampo("SEMI-NUEVO");
				campoExtraComprobante92.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante92);
				giroCE92.setCampoExtraComprobante(campoExtraComprobante92);
				giroCE92.setGiro(giro2);		
				giroCE92.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE92);
			
				GiroCampoExtraComprobante giroCE102 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante102 = new CampoExtraComprobante();
				campoExtraComprobante102.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante102.setIdentificador("COMBUS");
				campoExtraComprobante102.setNombreCampo("COMBUSTIBLE");
				campoExtraComprobante102.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante102);
				giroCE102.setCampoExtraComprobante(campoExtraComprobante102);
				giroCE102.setGiro(giro2);		
				giroCE102.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE102);
				
				GiroCampoExtraComprobante giroCE112 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante112 = new CampoExtraComprobante();
				campoExtraComprobante112.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante112.setIdentificador("CLV_VEHI");
				campoExtraComprobante112.setNombreCampo("CLAVE VEH\u00CDCULAR");
				campoExtraComprobante112.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante112);
				giroCE112.setCampoExtraComprobante(campoExtraComprobante112);
				giroCE112.setGiro(giro2);		
				giroCE112.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE112);
				
				GiroCampoExtraComprobante giroCE113 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante113 = new CampoExtraComprobante();
				campoExtraComprobante113.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante113.setIdentificador("NUEVO");
				campoExtraComprobante113.setNombreCampo("NUEVO");
				campoExtraComprobante113.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante113);
				giroCE113.setCampoExtraComprobante(campoExtraComprobante113);
				giroCE113.setGiro(giro2);		
				giroCE113.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE113);
				
				GiroCampoExtraComprobante giroCE114 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante114 = new CampoExtraComprobante();
				campoExtraComprobante114.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante114.setIdentificador("LINEA");
				campoExtraComprobante114.setNombreCampo("L\u00CDNEA");
				campoExtraComprobante114.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante114);
				giroCE114.setCampoExtraComprobante(campoExtraComprobante114);
				giroCE114.setGiro(giro2);		
				giroCE114.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE114);
				
				GiroCampoExtraComprobante giroCE115 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante115 = new CampoExtraComprobante();
				campoExtraComprobante115.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante115.setIdentificador("NOMB_VEND");
				campoExtraComprobante115.setNombreCampo("NOMBRE DEL VENDEDOR");
				campoExtraComprobante115.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante115);
				giroCE115.setCampoExtraComprobante(campoExtraComprobante115);
				giroCE115.setGiro(giro2);		
				giroCE115.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE115);
			}
			
			{
			Giro giro3 = new Giro();
			giro3.setDescripcion("AGENCIA ADUANAL");
			giro3.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro3);
			
				GiroImpuesto giroImp13 = new GiroImpuesto();
				Impuesto impuesto13 = new Impuesto();
				impuesto13.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto13.setFechaModificacion(Calendar.getInstance());
				impuesto13.setNombreImpuesto("ANTICIPO");
				impuesto13.setSiglaImpuesto("ANTI");
				impuesto13.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto13.setTasa(new Double(0));
				impuesto13.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto13.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto13);
				giroImp13.setFechaModificacion(Calendar.getInstance());
				giroImp13.setGiro(giro3);
				giroImp13.setImpuesto(impuesto13);
				giroImpuestoService.save(giroImp13);
				
				GiroImpuesto giroImp23 = new GiroImpuesto();
				Impuesto impuesto23 = new Impuesto();
				impuesto23.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto23.setFechaModificacion(Calendar.getInstance());
				impuesto23.setNombreImpuesto("PAGOS REALIZADOS");
				impuesto23.setSiglaImpuesto("PAG_REA");
				impuesto23.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto23.setTasa(new Double(0));
				impuesto23.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
				impuesto23.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto23);
				giroImp23.setFechaModificacion(Calendar.getInstance());
				giroImp23.setGiro(giro3);
				giroImp23.setImpuesto(impuesto23);
				giroImpuestoService.save(giroImp23);
			}
			
			{
			Giro giro4 = new Giro();
			giro4.setDescripcion("AUTOMATIZACI\u00D3N Y ROBOTICA");
			giro4.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro4);
			
				GiroCampoExtraComprobante giroCE14 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante14 = new CampoExtraComprobante();
				campoExtraComprobante14.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante14.setIdentificador("TOT_ORD");
				campoExtraComprobante14.setNombreCampo("TOTAL ORDEN DE C.:");
				campoExtraComprobante14.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante14);				
				giroCE14.setCampoExtraComprobante(campoExtraComprobante14);
				giroCE14.setGiro(giro4);		
				giroCE14.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE14);
				
				GiroCampoExtraComprobante giroCE24 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante24 = new CampoExtraComprobante();
				campoExtraComprobante24.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante24.setIdentificador("SOLI");
				campoExtraComprobante24.setNombreCampo("SOLICIT\u00D3:");
				campoExtraComprobante24.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante24);		
				giroCE24.setCampoExtraComprobante(campoExtraComprobante24);
				giroCE24.setGiro(giro4);		
				giroCE24.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE24);
				
				GiroCampoExtraComprobante giroCE34 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante34 = new CampoExtraComprobante();
				campoExtraComprobante34.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante34.setIdentificador("COMPR");
				campoExtraComprobante34.setNombreCampo("COMPRADOR:");
				campoExtraComprobante34.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante34);
				giroCE34.setCampoExtraComprobante(campoExtraComprobante34);
				giroCE34.setGiro(giro4);		
				giroCE34.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE34);
				
				GiroCampoExtraComprobante giroCE44 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante44 = new CampoExtraComprobante();
				campoExtraComprobante44.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante44.setIdentificador("ORD_COMPR");
				campoExtraComprobante44.setNombreCampo("ORDEN DE COMPRA:");
				campoExtraComprobante44.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante44);
				giroCE44.setCampoExtraComprobante(campoExtraComprobante44);
				giroCE44.setGiro(giro4);		
				giroCE44.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE44);
				
				GiroCampoExtraComprobante giroCE54 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante54 = new CampoExtraComprobante();
				campoExtraComprobante54.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante54.setIdentificador("FEC_PEDI");
				campoExtraComprobante54.setNombreCampo("FECHA DE PEDIDO:");
				campoExtraComprobante54.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante54);
				giroCE54.setCampoExtraComprobante(campoExtraComprobante54);
				giroCE54.setGiro(giro4);		
				giroCE54.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE54);
				
				GiroCampoExtraComprobante giroCE64 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante64 = new CampoExtraComprobante();
				campoExtraComprobante64.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante64.setIdentificador("NO_REF");
				campoExtraComprobante64.setNombreCampo("No. REFERENCIA:");
				campoExtraComprobante64.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante64);
				giroCE64.setCampoExtraComprobante(campoExtraComprobante64);
				giroCE64.setGiro(giro4);		
				giroCE64.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE64);
				
				GiroCampoExtraComprobante giroCE74 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante74 = new CampoExtraComprobante();
				campoExtraComprobante74.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante74.setIdentificador("NO_PROVE");
				campoExtraComprobante74.setNombreCampo("No PROVEEDOR:");
				campoExtraComprobante74.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante74);
				giroCE74.setCampoExtraComprobante(campoExtraComprobante74);
				giroCE74.setGiro(giro4);		
				giroCE74.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE74);
			
				GiroCampoExtraComprobante giroCE84 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante84 = new CampoExtraComprobante();
				campoExtraComprobante84.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante84.setIdentificador("NO_PROY");
				campoExtraComprobante84.setNombreCampo("No. PROYECTO:");
				campoExtraComprobante84.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante84);
				giroCE84.setCampoExtraComprobante(campoExtraComprobante84);
				giroCE84.setGiro(giro4);		
				giroCE84.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE84);
				
				GiroCampoExtraComprobante giroCE94 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante94 = new CampoExtraComprobante();
				campoExtraComprobante94.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante94.setIdentificador("SAL_FACT");
				campoExtraComprobante94.setNombreCampo("SALDO FACTURADO:");
				campoExtraComprobante94.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante94);
				giroCE94.setCampoExtraComprobante(campoExtraComprobante94);
				giroCE94.setGiro(giro4);		
				giroCE94.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE94);
				
				GiroCampoExtraComprobante giroCE104 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante104 = new CampoExtraComprobante();
				campoExtraComprobante104.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante104.setIdentificador("PEND_FACT");
				campoExtraComprobante104.setNombreCampo("PENDIENTE POR FACTURAR:");
				campoExtraComprobante104.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante104);
				giroCE104.setCampoExtraComprobante(campoExtraComprobante104);
				giroCE104.setGiro(giro4);		
				giroCE104.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE104);		*/
			}				
			
			{
			Giro giro15 = new Giro();
			giro15.setDescripcion("COMERCIO DE EQUIPO DE COMPUTO Y SOFTWARE");
			giro15.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro15);
			/*
				GiroDescuento giroDesc115 = new GiroDescuento();
				Descuento desc115 = new Descuento();
				desc115.setDescripcion("ESTIMACI\u00D3N");
				desc115.setFechaModificacion(Calendar.getInstance());
				desc115.setMonto(new Double(0));
				desc115.setStatus(DBConstants.STATUS_ACTIVE);
				descuentoService.save(desc115);
				giroDesc115.setDescuento(desc115);
				giroDesc115.setGiro(giro15);
				giroDescuentoService.save(giroDesc115);*/
			}
			
			{
			Giro giro7 = new Giro();
			giro7.setDescripcion("COMERCIO DE EQUIPO Y MATERIAL ELECTRICO");
			giro7.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro7);
			/*
				GiroImpuesto giroImp17 = new GiroImpuesto();
				Impuesto impuesto17 = new Impuesto();
				impuesto17.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto17.setFechaModificacion(Calendar.getInstance());
				impuesto17.setNombreImpuesto("F. GARANT\u00CDA");
				impuesto17.setSiglaImpuesto("F_GARAN");
				impuesto17.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto17.setTasa(new Double(0));
				impuesto17.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto17.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto17);
				giroImp17.setFechaModificacion(Calendar.getInstance());
				giroImp17.setGiro(giro7);
				giroImp17.setImpuesto(impuesto17);
				giroImpuestoService.save(giroImp17);
				
				GiroDescuento giroDesc17 = new GiroDescuento();
				giroDesc17.setDescuento(desc17);
				giroDesc17.setGiro(giro7);
				giroDescuentoService.save(giroDesc17);*/
				
			Giro giro8 = new Giro();
			giro8.setDescripcion("COMERCIO DE PARTES Y REFACCIONES PARA AUTOM\u00D3VILES");
			giro8.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro8);
			/*
				GiroImpuesto giroImp18 = new GiroImpuesto();
				giroImp18.setFechaModificacion(Calendar.getInstance());
				giroImp18.setGiro(giro8);
				giroImp18.setImpuesto(impuesto17);
				giroImpuestoService.save(giroImp18);
				
				GiroDescuento giroDesc18 = new GiroDescuento();
				giroDesc18.setDescuento(desc17);
				giroDesc18.setGiro(giro8);
				giroDescuentoService.save(giroDesc18);*/
			}				
			
			{
			Giro giro9 = new Giro();
			giro9.setDescripcion("COMERCIO DE REFACCIONES INDUSTRIALES Y MARINAS A BARCOS / PLATAFORMAS");
			giro9.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro9);
				/*
				GiroEtiqueta giroEti19 = new GiroEtiqueta();
				Etiqueta etiqueta19 = new Etiqueta();
				etiqueta19.setEtiqueta("CONDICIONES");
				etiqueta19.setFechaModificacion(Calendar.getInstance());
				etiqueta19.setIdentificador("CONDI");
				etiqueta19.setStatus(DBConstants.STATUS_ACTIVE);	
				etiquetaService.save(etiqueta19);
				giroEti19.setEtiqueta(etiqueta19);
				giroEti19.setFechaModificacion(Calendar.getInstance());
				giroEti19.setGiro(giro9);
				giroEtiquetaService.save(giroEti19);
				
				GiroEtiqueta giroEti29 = new GiroEtiqueta();
				Etiqueta etiqueta29 = new Etiqueta();
				etiqueta29.setEtiqueta("PEDIDO POR");
				etiqueta29.setFechaModificacion(Calendar.getInstance());
				etiqueta29.setIdentificador("PED_POR");
				etiqueta29.setStatus(DBConstants.STATUS_ACTIVE);
				etiquetaService.save(etiqueta29);
				giroEti29.setEtiqueta(etiqueta29);
				giroEti29.setFechaModificacion(Calendar.getInstance());
				giroEti29.setGiro(giro9);
				giroEtiquetaService.save(giroEti29);
				
				GiroEtiqueta giroEti39 = new GiroEtiqueta();
				Etiqueta etiqueta39 = new Etiqueta();
				etiqueta39.setEtiqueta("OBSERVACIONES");
				etiqueta39.setFechaModificacion(Calendar.getInstance());
				etiqueta39.setIdentificador("OBS");
				etiqueta39.setStatus(DBConstants.STATUS_ACTIVE);
				etiquetaService.save(etiqueta39);
				giroEti39.setEtiqueta(etiqueta39);
				giroEti39.setFechaModificacion(Calendar.getInstance());
				giroEti39.setGiro(giro9);
				giroEtiquetaService.save(giroEti39);			*/
			}
			
			{
			Giro giro10 = new Giro();
			giro10.setDescripcion("FABRICACI\u00D3N DE ESTRUCTURAS MET\u00C1LICAS");
			giro10.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro10);
			/*
				GiroImpuesto giroImp110 = new GiroImpuesto();
				Impuesto impuesto110 = new Impuesto();
				impuesto110.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto110.setFechaModificacion(Calendar.getInstance());
				impuesto110.setNombreImpuesto("FONDO DE GARANT\u00CDA 10%");
				impuesto110.setSiglaImpuesto("F_GARAN_10");
				impuesto110.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto110.setTasa(new Double(10.0));
				impuesto110.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto110.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto110);
				giroImp110.setFechaModificacion(Calendar.getInstance());
				giroImp110.setGiro(giro10);
				giroImp110.setImpuesto(impuesto110);
				giroImpuestoService.save(giroImp110);
				
				GiroDescuento giroDesc110 = new GiroDescuento();
				Descuento desc110 = new Descuento();
				desc110.setDescripcion("MENOS AMORTIZACI\u00D3N DE ANTICIPO");
				desc110.setFechaModificacion(Calendar.getInstance());
				desc110.setMonto(new Double(0));
				desc110.setStatus(DBConstants.STATUS_ACTIVE);
				descuentoService.save(desc110);
				giroDesc110.setDescuento(desc110);
				giroDesc110.setGiro(giro10);
				giroDescuentoService.save(giroDesc110);*/
			}				
			
			{
			Giro giro13 = new Giro();
			giro13.setDescripcion("SERVICIOS SOCIALES, RECREATIVOS Y DE SALUD");
			giro13.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro13);
				/*
				GiroCampoExtraComprobante giroCE113 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante113 = new CampoExtraComprobante();
				campoExtraComprobante113.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante113.setIdentificador("NC");
				campoExtraComprobante113.setNombreCampo("N. C:");
				campoExtraComprobante113.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante113);				
				giroCE113.setCampoExtraComprobante(campoExtraComprobante113);
				giroCE113.setGiro(giro13);		
				giroCE113.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE113);
				
				GiroCampoExtraComprobante giroCE213 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante213 = new CampoExtraComprobante();
				campoExtraComprobante213.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante213.setIdentificador("RECIBO");
				campoExtraComprobante213.setNombreCampo("RECIBO:");
				campoExtraComprobante213.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante213);		
				giroCE213.setCampoExtraComprobante(campoExtraComprobante213);
				giroCE213.setGiro(giro13);		
				giroCE213.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE213);
				
				GiroCampoExtraComprobante giroCE313 = new GiroCampoExtraComprobante();
				giroCE313.setCampoExtraComprobante(campoExtraComprobante1216);
				giroCE313.setGiro(giro13);		
				giroCE313.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE313);
				
				GiroCampoExtraComprobante giroCE413 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante413 = new CampoExtraComprobante();
				campoExtraComprobante413.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante413.setIdentificador("MAG");
				campoExtraComprobante413.setNombreCampo("MAG:");
				campoExtraComprobante413.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante413);
				giroCE413.setCampoExtraComprobante(campoExtraComprobante413);
				giroCE413.setGiro(giro13);		
				giroCE413.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE413);
				
				GiroCampoExtraComprobante giroCE513 = new GiroCampoExtraComprobante();
				giroCE513.setCampoExtraComprobante(campoExtraComprobante513);
				giroCE513.setGiro(giro13);		
				giroCE513.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE513);*/
			}
			
			{
			Giro giro14 = new Giro();
			giro14.setDescripcion("NOTARIA");
			giro14.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro14);
				/*
				GiroCampoExtraComprobante giroCE114 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante114 = new CampoExtraComprobante();
				campoExtraComprobante114.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante114.setIdentificador("ESCRIT_NO");
				campoExtraComprobante114.setNombreCampo("ESCRITURA NO");
				campoExtraComprobante114.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante114);				
				giroCE114.setCampoExtraComprobante(campoExtraComprobante114);
				giroCE114.setGiro(giro14);		
				giroCE114.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE114);
				
				GiroCampoExtraComprobante giroCE214 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante214 = new CampoExtraComprobante();
				campoExtraComprobante214.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante214.setIdentificador("NUM_EXPED");
				campoExtraComprobante214.setNombreCampo("N\u00DAMERO DE EXPEDIENTE");
				campoExtraComprobante214.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante214);		
				giroCE214.setCampoExtraComprobante(campoExtraComprobante214);
				giroCE214.setGiro(giro14);		
				giroCE214.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE214);
				
				GiroCampoExtraComprobante giroCE314 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante314 = new CampoExtraComprobante();
				campoExtraComprobante314.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante314.setIdentificador("IMP_IMPU_DER_EROG");
				campoExtraComprobante314.setNombreCampo("POR EL IMPORTE DE IMPUESTOS, DERECHOS Y EROGACIONES POR:");
				campoExtraComprobante314.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante314);
				giroCE314.setCampoExtraComprobante(campoExtraComprobante314);
				giroCE314.setGiro(giro14);		
				giroCE314.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE314);
				
				GiroCampoExtraComprobante giroCE414 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante414 = new CampoExtraComprobante();
				campoExtraComprobante414.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante414.setIdentificador("ANTICIPO");
				campoExtraComprobante414.setNombreCampo("ANTICIPO:");
				campoExtraComprobante414.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante414);
				giroCE414.setCampoExtraComprobante(campoExtraComprobante414);
				giroCE414.setGiro(giro14);		
				giroCE414.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE414);
				
				GiroCampoExtraComprobante giroCE514 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante514 = new CampoExtraComprobante();
				campoExtraComprobante514.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante514.setIdentificador("IMP_TOTAL_OPE");
				campoExtraComprobante514.setNombreCampo("IMPORTE TOTAL DE LA OPERACI\u00D3N:");
				campoExtraComprobante514.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante514);
				giroCE514.setCampoExtraComprobante(campoExtraComprobante514);
				giroCE514.setGiro(giro14);		
				giroCE514.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE514);
				
				GiroCampoExtraComprobante giroCE614 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante614 = new CampoExtraComprobante();
				campoExtraComprobante614.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante614.setIdentificador("R_PROVI");
				campoExtraComprobante614.setNombreCampo("R. PROVISIONAL");
				campoExtraComprobante614.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante614);
				giroCE614.setCampoExtraComprobante(campoExtraComprobante614);
				giroCE614.setGiro(giro14);		
				giroCE614.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE614);
				
				GiroCampoExtraComprobante giroCE714 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante714 = new CampoExtraComprobante();
				campoExtraComprobante714.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante714.setIdentificador("IMP_DER_EROG");
				campoExtraComprobante714.setNombreCampo("IMPUESTOS, DERECHOS Y EROGACIONES:");
				campoExtraComprobante714.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante714);
				giroCE714.setCampoExtraComprobante(campoExtraComprobante714);
				giroCE714.setGiro(giro14);		
				giroCE714.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE714);
			
				GiroCampoExtraComprobante giroCE814 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante814 = new CampoExtraComprobante();
				campoExtraComprobante814.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante814.setIdentificador("OPERACION");
				campoExtraComprobante814.setNombreCampo("OPERACI\u00D3N:");
				campoExtraComprobante814.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante814);
				giroCE814.setCampoExtraComprobante(campoExtraComprobante814);
				giroCE814.setGiro(giro14);		
				giroCE814.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE814);
				
				GiroCampoExtraComprobante giroCE914 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante914 = new CampoExtraComprobante();
				campoExtraComprobante914.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante914.setIdentificador("EXPEDIENTE");
				campoExtraComprobante914.setNombreCampo("EXPEDIENTE:");
				campoExtraComprobante914.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante914);
				giroCE914.setCampoExtraComprobante(campoExtraComprobante914);
				giroCE914.setGiro(giro14);		
				giroCE914.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE914);
				
				GiroCampoExtraComprobante giroCE1014 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante1014 = new CampoExtraComprobante();
				campoExtraComprobante1014.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante1014.setIdentificador("ABOGADO");
				campoExtraComprobante1014.setNombreCampo("ABOGADO");
				campoExtraComprobante1014.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante1014);
				giroCE1014.setCampoExtraComprobante(campoExtraComprobante1014);
				giroCE1014.setGiro(giro14);		
				giroCE1014.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1014);
				
				GiroCampoExtraComprobante giroCE1114 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante1114 = new CampoExtraComprobante();
				campoExtraComprobante1114.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante1114.setIdentificador("SUM_HONO_GAS");
				campoExtraComprobante1114.setNombreCampo("SUMA DE HONORARIOS Y GASTOS");
				campoExtraComprobante1114.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante1114);
				giroCE1114.setCampoExtraComprobante(campoExtraComprobante1114);
				giroCE1114.setGiro(giro14);		
				giroCE1114.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1114);
				
				GiroCampoExtraComprobante giroCE1214 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante1214 = new CampoExtraComprobante();
				campoExtraComprobante1214.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante1214.setIdentificador("NET_PAGAR");
				campoExtraComprobante1214.setNombreCampo("NETO A PAGAR");
				campoExtraComprobante1214.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante1214);
				giroCE1214.setCampoExtraComprobante(campoExtraComprobante1214);
				giroCE1214.setGiro(giro14);		
				giroCE1214.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1214);
				
				GiroCampoExtraComprobante giroCE1215 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante1215 = new CampoExtraComprobante();
				campoExtraComprobante1215.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante1215.setIdentificador("DAT_CLI");
				campoExtraComprobante1215.setNombreCampo("DATOS DEL CLIENTE");
				campoExtraComprobante1215.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante1215);
				giroCE1215.setCampoExtraComprobante(campoExtraComprobante1215);
				giroCE1215.setGiro(giro14);		
				giroCE1215.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1215);
				
				GiroCampoExtraComprobante giroCE1216 = new GiroCampoExtraComprobante();
				giroCE1216.setCampoExtraComprobante(campoExtraComprobante1216);
				giroCE1216.setGiro(giro14);		
				giroCE1216.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1216);
				
				GiroCampoExtraComprobante giroCE1217 = new GiroCampoExtraComprobante();
				giroCE1217.setCampoExtraComprobante(campoExtraComprobante320);
				giroCE1217.setGiro(giro14);		
				giroCE1217.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1217);
				
				GiroCampoExtraComprobante giroCE1218 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante1218 = new CampoExtraComprobante();
				campoExtraComprobante1218.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante1218.setIdentificador("FECHA");
				campoExtraComprobante1218.setNombreCampo("FECHA");
				campoExtraComprobante1218.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante1218);
				giroCE1218.setCampoExtraComprobante(campoExtraComprobante1218);
				giroCE1218.setGiro(giro14);		
				giroCE1218.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1218);
				
				GiroCampoExtraComprobante giroCE1219 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante1219 = new CampoExtraComprobante();
				campoExtraComprobante1219.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante1219.setIdentificador("CANT_DE");
				campoExtraComprobante1219.setNombreCampo("LA CANTIDAD DE:");
				campoExtraComprobante1219.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante1219);
				giroCE1219.setCampoExtraComprobante(campoExtraComprobante1219);
				giroCE1219.setGiro(giro14);		
				giroCE1219.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1219);*/
			}	
			
			{
			Giro giro15 = new Giro();
			giro15.setDescripcion("FLORER\u00CDA");
			giro15.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro15);
			/*
				GiroCampoExtraComprobante giroCE115 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante115 = new CampoExtraComprobante();
				campoExtraComprobante115.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante115.setIdentificador("ENTR");
				campoExtraComprobante115.setNombreCampo("ENTREGAR A");
				campoExtraComprobante115.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante115);				
				giroCE115.setCampoExtraComprobante(campoExtraComprobante115);
				giroCE115.setGiro(giro15);		
				giroCE115.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE115);*/
			}
			
			{
			Giro giro16 = new Giro();
			giro16.setDescripcion("MAQUINADOS INDUSTRIALES");
			giro16.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro16);
				/*
				GiroCampoExtraComprobante giroCE116 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante116 = new CampoExtraComprobante();
				campoExtraComprobante116.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante116.setIdentificador("COTI_NO");
				campoExtraComprobante116.setNombreCampo("COTIZACI\u00D3N No.");
				campoExtraComprobante116.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante116);				
				giroCE116.setCampoExtraComprobante(campoExtraComprobante116);
				giroCE116.setGiro(giro16);		
				giroCE116.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE116);
				
				GiroCampoExtraComprobante giroCE216 = new GiroCampoExtraComprobante();		
				giroCE216.setCampoExtraComprobante(campoExtraComprobante216);
				giroCE216.setGiro(giro16);		
				giroCE216.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE216);
				
				GiroCampoExtraComprobante giroCE316 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante316 = new CampoExtraComprobante();
				campoExtraComprobante316.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante316.setIdentificador("NO_PROY");
				campoExtraComprobante316.setNombreCampo("No. PROYECTO");
				campoExtraComprobante316.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante316);
				giroCE316.setCampoExtraComprobante(campoExtraComprobante316);
				giroCE316.setGiro(giro16);		
				giroCE316.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE316);*/
			}
			
			{
			Giro giro17 = new Giro();
			giro17.setDescripcion("SERVICIOS Y REPRESENTACIONES DIGITALES");
			giro17.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro17);
					/*
				GiroCampoExtraComprobante giroCE117 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante117 = new CampoExtraComprobante();
				campoExtraComprobante117.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante117.setIdentificador("CONS_A");
				campoExtraComprobante117.setNombreCampo("CONSIGNADO A");
				campoExtraComprobante117.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante117);				
				giroCE117.setCampoExtraComprobante(campoExtraComprobante117);
				giroCE117.setGiro(giro17);		
				giroCE117.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE117);
					
				GiroCampoExtraComprobante giroCE217 = new GiroCampoExtraComprobante();		
				giroCE217.setCampoExtraComprobante(campoExtraComprobante513);
				giroCE217.setGiro(giro17);		
				giroCE217.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE217);*/
			}
			
			{
			Giro giro18 = new Giro();
			giro18.setDescripcion("COMERCIO DE PINTURAS");
			giro18.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro18);
						/*
				GiroCampoExtraComprobante giroCE118 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante118 = new CampoExtraComprobante();
				campoExtraComprobante118.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante118.setIdentificador("ID_VENT");
				campoExtraComprobante118.setNombreCampo("ID. DE VENTA");
				campoExtraComprobante118.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante118);				
				giroCE118.setCampoExtraComprobante(campoExtraComprobante118);
				giroCE118.setGiro(giro18);		
				giroCE118.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE118);
						
				GiroCampoExtraComprobante giroCE218 = new GiroCampoExtraComprobante();	
				CampoExtraComprobante campoExtraComprobante218 = new CampoExtraComprobante();
				campoExtraComprobante218.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante218.setIdentificador("NO_TICK");
				campoExtraComprobante218.setNombreCampo("NO. DE TICKET");
				campoExtraComprobante218.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante218);
				giroCE218.setCampoExtraComprobante(campoExtraComprobante218);
				giroCE218.setGiro(giro18);		
				giroCE218.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE218);
				
				GiroEtiqueta giroEti118 = new GiroEtiqueta();
				Etiqueta etiqueta118 = new Etiqueta();
				etiqueta118.setIdentificador("CRED_15");
				etiqueta118.setFechaModificacion(Calendar.getInstance());
				etiqueta118.setEtiqueta("CR\u00C9DITO A 15 D\u00CDAS");
				etiqueta118.setStatus(DBConstants.STATUS_ACTIVE);
				etiquetaService.save(etiqueta118);
				giroEti118.setEtiqueta(etiqueta118);
				giroEti118.setFechaModificacion(Calendar.getInstance());
				giroEti118.setGiro(giro18);
				giroEtiquetaService.save(giroEti118);*/
			}		
		
			{
			Giro giro19 = new Giro();
			giro19.setDescripcion("FABRICACI\u00D3N DE EQUIPOS T\u00C9CNICOS E INDUSTRIALES");
			giro19.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro19);
			/*
				GiroCampoExtraComprobante giroCE119 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante119 = new CampoExtraComprobante();
				campoExtraComprobante119.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante119.setIdentificador("VEND");
				campoExtraComprobante119.setNombreCampo("VEND.");
				campoExtraComprobante119.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante119);				
				giroCE119.setCampoExtraComprobante(campoExtraComprobante119);
				giroCE119.setGiro(giro19);		
				giroCE119.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE119);
				
				GiroDescuento giroDesc119 = new GiroDescuento();
				Descuento desc119 = new Descuento();
				desc119.setDescripcion("DESC. 1");
				desc119.setFechaModificacion(Calendar.getInstance());
				desc119.setMonto(new Double(0));
				desc119.setStatus(DBConstants.STATUS_ACTIVE);
				descuentoService.save(desc119);
				giroDesc119.setDescuento(desc119);
				giroDesc119.setGiro(giro19);
				giroDescuentoService.save(giroDesc119);
				
				GiroDescuento giroDesc219 = new GiroDescuento();
				Descuento desc219 = new Descuento();
				desc219.setDescripcion("DESC. 2");
				desc219.setFechaModificacion(Calendar.getInstance());
				desc219.setMonto(new Double(0));
				desc219.setStatus(DBConstants.STATUS_ACTIVE);
				descuentoService.save(desc219);
				giroDesc219.setDescuento(desc219);
				giroDesc219.setGiro(giro19);
				giroDescuentoService.save(giroDesc219);
				
				GiroDescuento giroDesc319 = new GiroDescuento();
				Descuento desc319 = new Descuento();
				desc319.setDescripcion("DESC. 3");
				desc319.setFechaModificacion(Calendar.getInstance());
				desc319.setMonto(new Double(0));
				desc319.setStatus(DBConstants.STATUS_ACTIVE);
				descuentoService.save(desc319);
				giroDesc319.setDescuento(desc319);
				giroDesc319.setGiro(giro19);
				giroDescuentoService.save(giroDesc319);
				
				GiroDescuento giroDesc419 = new GiroDescuento();
				Descuento desc419 = new Descuento();
				desc419.setDescripcion("DESC. 4");
				desc419.setFechaModificacion(Calendar.getInstance());
				desc419.setMonto(new Double(0));
				desc419.setStatus(DBConstants.STATUS_ACTIVE);
				descuentoService.save(desc419);
				giroDesc419.setDescuento(desc419);
				giroDesc419.setGiro(giro19);
				giroDescuentoService.save(giroDesc419);
				
				GiroDescuento giroDesc519 = new GiroDescuento();
				Descuento desc519 = new Descuento();
				desc519.setDescripcion("DESC. FINAL");
				desc519.setFechaModificacion(Calendar.getInstance());
				desc519.setMonto(new Double(0));
				desc519.setStatus(DBConstants.STATUS_ACTIVE);
				descuentoService.save(desc519);
				giroDesc519.setDescuento(desc519);
				giroDesc519.setGiro(giro19);
				giroDescuentoService.save(giroDesc519);*/
			}
			
			{
			Giro giro21 = new Giro();
			giro21.setDescripcion("SERVICIOS DE CONTABILIDAD Y AUDITORIA");
			giro21.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro21);
			/*
				GiroEtiqueta giroEti121 = new GiroEtiqueta();
				Etiqueta etiqueta121 = new Etiqueta();
				etiqueta121.setIdentificador("GAS_CUENT_TER");
				etiqueta121.setFechaModificacion(Calendar.getInstance());
				etiqueta121.setEtiqueta("GASTO CUENTA DE TERCEROS");
				etiqueta121.setStatus(DBConstants.STATUS_ACTIVE);
				etiquetaService.save(etiqueta121);
				giroEti121.setEtiqueta(etiqueta121);
				giroEti121.setFechaModificacion(Calendar.getInstance());
				giroEti121.setGiro(giro21);
				giroEtiquetaService.save(giroEti121);
				
				GiroEtiqueta giroEti221 = new GiroEtiqueta();
				Etiqueta etiqueta221 = new Etiqueta();
				etiqueta221.setIdentificador("DESCR");
				etiqueta221.setFechaModificacion(Calendar.getInstance());
				etiqueta221.setEtiqueta("DESCRIPCI\u00D3N:");
				etiqueta221.setStatus(DBConstants.STATUS_ACTIVE);
				etiquetaService.save(etiqueta221);
				giroEti221.setEtiqueta(etiqueta221);
				giroEti221.setFechaModificacion(Calendar.getInstance());
				giroEti221.setGiro(giro21);
				giroEtiquetaService.save(giroEti221);
				
				GiroEtiqueta giroEti321 = new GiroEtiqueta();
				Etiqueta etiqueta321 = new Etiqueta();
				etiqueta321.setIdentificador("IMPOR");
				etiqueta321.setFechaModificacion(Calendar.getInstance());
				etiqueta321.setEtiqueta("IMPORTE:");
				etiqueta321.setStatus(DBConstants.STATUS_ACTIVE);
				etiquetaService.save(etiqueta321);
				giroEti321.setEtiqueta(etiqueta321);
				giroEti321.setFechaModificacion(Calendar.getInstance());
				giroEti321.setGiro(giro21);
				giroEtiquetaService.save(giroEti321);
				
				GiroEtiqueta giroEti421 = new GiroEtiqueta();
				Etiqueta etiqueta421 = new Etiqueta();
				etiqueta421.setIdentificador("HONOR");
				etiqueta421.setFechaModificacion(Calendar.getInstance());
				etiqueta421.setEtiqueta("HONORARIOS");
				etiqueta421.setStatus(DBConstants.STATUS_ACTIVE);
				etiquetaService.save(etiqueta421);
				giroEti421.setEtiqueta(etiqueta421);
				giroEti421.setFechaModificacion(Calendar.getInstance());
				giroEti421.setGiro(giro21);
				giroEtiquetaService.save(giroEti421);
				
				GiroImpuesto giroImp121 = new GiroImpuesto();
				Impuesto impuesto121 = new Impuesto();
				impuesto121.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto121.setFechaModificacion(Calendar.getInstance());
				impuesto121.setNombreImpuesto("DERECHOS DE REGISTRO");
				impuesto121.setSiglaImpuesto("DER_REG");
				impuesto121.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto121.setTasa(new Double(0));
				impuesto121.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
				impuesto121.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto121);
				giroImp121.setFechaModificacion(Calendar.getInstance());
				giroImp121.setGiro(giro21);
				giroImp121.setImpuesto(impuesto121);
				giroImpuestoService.save(giroImp121);
				
				GiroImpuesto giroImp221 = new GiroImpuesto();
				Impuesto impuesto221 = new Impuesto();
				impuesto221.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto221.setFechaModificacion(Calendar.getInstance());
				impuesto221.setNombreImpuesto("PERMISOS SRR");
				impuesto221.setSiglaImpuesto("PER_SRR");
				impuesto221.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto221.setTasa(new Double(0));
				impuesto221.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
				impuesto221.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto221);
				giroImp221.setFechaModificacion(Calendar.getInstance());
				giroImp221.setGiro(giro21);
				giroImp221.setImpuesto(impuesto221);
				giroImpuestoService.save(giroImp221);
				
				GiroImpuesto giroImp321 = new GiroImpuesto();
				Impuesto impuesto321 = new Impuesto();
				impuesto321.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto321.setFechaModificacion(Calendar.getInstance());
				impuesto321.setNombreImpuesto("TRASLADO 1");
				impuesto321.setSiglaImpuesto("TRAS_1");
				impuesto321.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto321.setTasa(new Double(0));
				impuesto321.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
				impuesto321.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto321);
				giroImp321.setFechaModificacion(Calendar.getInstance());
				giroImp321.setGiro(giro21);
				giroImp321.setImpuesto(impuesto321);
				giroImpuestoService.save(giroImp321);
				
				GiroImpuesto giroImp421 = new GiroImpuesto();
				Impuesto impuesto421 = new Impuesto();
				impuesto421.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto421.setFechaModificacion(Calendar.getInstance());
				impuesto421.setNombreImpuesto("TRASLADO 2");
				impuesto421.setSiglaImpuesto("TRAS_2");
				impuesto421.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto421.setTasa(new Double(0));
				impuesto421.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
				impuesto421.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto421);
				giroImp421.setFechaModificacion(Calendar.getInstance());
				giroImp421.setGiro(giro21);
				giroImp421.setImpuesto(impuesto421);
				giroImpuestoService.save(giroImp421);
				
				GiroImpuesto giroImp521 = new GiroImpuesto();
				Impuesto impuesto521 = new Impuesto();
				impuesto521.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto521.setFechaModificacion(Calendar.getInstance());
				impuesto521.setNombreImpuesto("TRASLADO 3");
				impuesto521.setSiglaImpuesto("TRAS_3");
				impuesto521.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto521.setTasa(new Double(0));
				impuesto521.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
				impuesto521.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto521);
				giroImp521.setFechaModificacion(Calendar.getInstance());
				giroImp521.setGiro(giro21);
				giroImp521.setImpuesto(impuesto521);
				giroImpuestoService.save(giroImp521);*/
			}
		
			{
			Giro giro11 = new Giro();
			giro11.setDescripcion("SERVICIO DE SEGURIDAD Y VIGILANCIA");
			giro11.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro11);
				/*
				GiroEtiqueta giroEti111 = new GiroEtiqueta();
				Etiqueta etiqueta111 = new Etiqueta();
				etiqueta111.setIdentificador("DEDUC");
				etiqueta111.setFechaModificacion(Calendar.getInstance());
				etiqueta111.setEtiqueta("DEDUCCIONES");
				etiqueta111.setStatus(DBConstants.STATUS_ACTIVE);
				etiquetaService.save(etiqueta111);
				giroEti111.setEtiqueta(etiqueta111);
				giroEti111.setFechaModificacion(Calendar.getInstance());
				giroEti111.setGiro(giro11);
				giroEtiquetaService.save(giroEti111);
				
				GiroEtiqueta giroEti211 = new GiroEtiqueta();
				Etiqueta etiqueta211 = new Etiqueta();
				etiqueta211.setIdentificador("TOT_DEDUC");
				etiqueta211.setFechaModificacion(Calendar.getInstance());
				etiqueta211.setEtiqueta("TOTAL DE DEDUCCIONES");
				etiqueta211.setStatus(DBConstants.STATUS_ACTIVE);
				etiquetaService.save(etiqueta211);
				giroEti211.setEtiqueta(etiqueta211);
				giroEti211.setFechaModificacion(Calendar.getInstance());
				giroEti211.setGiro(giro11);
				giroEtiquetaService.save(giroEti211);
				
				GiroImpuesto giroImp111 = new GiroImpuesto();
				Impuesto impuesto111 = new Impuesto();
				impuesto111.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto111.setFechaModificacion(Calendar.getInstance());
				impuesto111.setNombreImpuesto("4 AL MILLAR SUPERVISI\u00D3N Y VIGILANCIA");
				impuesto111.setSiglaImpuesto("4_MILLAR");
				impuesto111.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto111.setTasa(new Double(4.0));
				impuesto111.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto111.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto111);
				giroImp111.setFechaModificacion(Calendar.getInstance());
				giroImp111.setGiro(giro11);
				giroImp111.setImpuesto(impuesto111);
				giroImpuestoService.save(giroImp111);
				
				GiroImpuesto giroImp211 = new GiroImpuesto();
				Impuesto impuesto211 = new Impuesto();
				impuesto211.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto211.setFechaModificacion(Calendar.getInstance());
				impuesto211.setNombreImpuesto("25% IMPUESTO FOMENTO A LA EDUCACI\u00D3N P\u00DABLICA DEL ESTADO");
				impuesto211.setSiglaImpuesto("25_FOM_EDU_EST");
				impuesto211.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto211.setTasa(new Double(25.0));
				impuesto211.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto211.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto211);
				giroImp211.setFechaModificacion(Calendar.getInstance());
				giroImp211.setGiro(giro11);
				giroImp211.setImpuesto(impuesto211);
				giroImpuestoService.save(giroImp211);			*/
			}
			
			{
			Giro giro20 = new Giro();
			giro20.setDescripcion("TRANSPORTE, ALMACENAMIENTO Y COMUNICACIONES");
			giro20.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro20);
			/*
				GiroImpuesto giroImp120 = new GiroImpuesto();
				Impuesto impuesto120 = new Impuesto();
				impuesto120.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto120.setFechaModificacion(Calendar.getInstance());
				impuesto120.setNombreImpuesto("RETENCI\u00D3N");
				impuesto120.setSiglaImpuesto("RET");
				impuesto120.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto120.setTasa(new Double(4.0));
				impuesto120.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto120.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto120);
				giroImp120.setFechaModificacion(Calendar.getInstance());
				giroImp120.setGiro(giro20);
				giroImp120.setImpuesto(impuesto120);
				giroImpuestoService.save(giroImp120);
				
				GiroFirma giroFirma120 = new GiroFirma();
				Firma firma120 = new Firma();
				firma120.setArea("");
				firma120.setFechaModificacion(Calendar.getInstance());
				firma120.setIdentificador("FIR_DEST");
				firma120.setNombre("");
				firma120.setPuesto("FIRMA DEL DESTINATARIO");
				firma120.setStatus(DBConstants.STATUS_ACTIVE);
				firma120.setTitulo("");
				firmaService.save(firma120);
				giroFirma120.setFechaModificacion(Calendar.getInstance());
				giroFirma120.setFirma(firma120);
				giroFirma120.setGiro(giro20);
				giroFirmaService.save(giroFirma120);
				
				GiroCampoExtraComprobante giroCE120 = new GiroCampoExtraComprobante();				
				CampoExtraComprobante campoExtraComprobante120 = new CampoExtraComprobante();
				campoExtraComprobante120.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante120.setIdentificador("ORIGEN");
				campoExtraComprobante120.setNombreCampo("ORIGEN");
				campoExtraComprobante120.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante120);				
				giroCE120.setCampoExtraComprobante(campoExtraComprobante120);
				giroCE120.setGiro(giro20);		
				giroCE120.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE120);
				
				GiroCampoExtraComprobante giroCE220 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante220 = new CampoExtraComprobante();
				campoExtraComprobante220.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante220.setIdentificador("REMT");
				campoExtraComprobante220.setNombreCampo("REMITENTE");
				campoExtraComprobante220.setStatus(DBConstants.STATUS_ACTIVE);		
				campoExtraComprobanteService.save(campoExtraComprobante220);		
				giroCE220.setCampoExtraComprobante(campoExtraComprobante220);
				giroCE220.setGiro(giro20);		
				giroCE220.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE220);
				
				GiroCampoExtraComprobante giroCE320 = new GiroCampoExtraComprobante();
				giroCE320.setCampoExtraComprobante(campoExtraComprobante320);
				giroCE320.setGiro(giro20);		
				giroCE320.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE320);
				
				GiroCampoExtraComprobante giroCE420 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante420 = new CampoExtraComprobante();
				campoExtraComprobante420.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante420.setIdentificador("DOM");
				campoExtraComprobante420.setNombreCampo("DOMICILIO");
				campoExtraComprobante420.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante420);
				giroCE420.setCampoExtraComprobante(campoExtraComprobante420);
				giroCE420.setGiro(giro20);		
				giroCE420.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE420);
				
				GiroCampoExtraComprobante giroCE520 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante520 = new CampoExtraComprobante();
				campoExtraComprobante520.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante520.setIdentificador("RECOG");
				campoExtraComprobante520.setNombreCampo("SE RECOGER\u00C1");
				campoExtraComprobante520.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante520);
				giroCE520.setCampoExtraComprobante(campoExtraComprobante520);
				giroCE520.setGiro(giro20);		
				giroCE520.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE520);
				
				GiroCampoExtraComprobante giroCE620 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante620 = new CampoExtraComprobante();
				campoExtraComprobante620.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante620.setIdentificador("DESTINO");
				campoExtraComprobante620.setNombreCampo("DESTINO");
				campoExtraComprobante620.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante620);
				giroCE620.setCampoExtraComprobante(campoExtraComprobante620);
				giroCE620.setGiro(giro20);		
				giroCE620.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE620);
				
				GiroCampoExtraComprobante giroCE720 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante720 = new CampoExtraComprobante();
				campoExtraComprobante720.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante720.setIdentificador("DESTINA");
				campoExtraComprobante720.setNombreCampo("DESTINATARIO");
				campoExtraComprobante720.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante720);
				giroCE720.setCampoExtraComprobante(campoExtraComprobante720);
				giroCE720.setGiro(giro20);		
				giroCE720.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE720);
			
				GiroCampoExtraComprobante giroCE820 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante820 = new CampoExtraComprobante();
				campoExtraComprobante820.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante820.setIdentificador("ENTRE_EN");
				campoExtraComprobante820.setNombreCampo("SE ENTREGAR\u00C1 EN");
				campoExtraComprobante820.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante820);
				giroCE820.setCampoExtraComprobante(campoExtraComprobante820);
				giroCE820.setGiro(giro20);		
				giroCE820.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE820);
				
				GiroCampoExtraComprobante giroCE920 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante920 = new CampoExtraComprobante();
				campoExtraComprobante920.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante920.setIdentificador("UNI");
				campoExtraComprobante920.setNombreCampo("UNIDAD");
				campoExtraComprobante920.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante920);
				giroCE920.setCampoExtraComprobante(campoExtraComprobante920);
				giroCE920.setGiro(giro20);		
				giroCE920.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE920);
				
				GiroCampoExtraComprobante giroCE1020 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante1020 = new CampoExtraComprobante();
				campoExtraComprobante1020.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante1020.setIdentificador("OPER");
				campoExtraComprobante1020.setNombreCampo("OPERADOR");
				campoExtraComprobante1020.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante1020);
				giroCE1020.setCampoExtraComprobante(campoExtraComprobante1020);
				giroCE1020.setGiro(giro20);		
				giroCE1020.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1020);
				
				GiroCampoExtraComprobante giroCE1120 = new GiroCampoExtraComprobante();
				CampoExtraComprobante campoExtraComprobante1120 = new CampoExtraComprobante();
				campoExtraComprobante1120.setFechaModificacion(Calendar.getInstance());
				campoExtraComprobante1120.setIdentificador("CAJA");
				campoExtraComprobante1120.setNombreCampo("CAJA");
				campoExtraComprobante1120.setStatus(DBConstants.STATUS_ACTIVE);
				campoExtraComprobanteService.save(campoExtraComprobante1120);
				giroCE1120.setCampoExtraComprobante(campoExtraComprobante1120);
				giroCE1120.setGiro(giro20);		
				giroCE1120.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1120);
				
				GiroCampoExtraComprobante giroCE1220 = new GiroCampoExtraComprobante();
				giroCE1220.setCampoExtraComprobante(campoExtraComprobante513);
				giroCE1220.setGiro(giro20);		
				giroCE1220.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1220);
				
				GiroCampoExtraComprobante giroCE1320 = new GiroCampoExtraComprobante();
				giroCE1320.setCampoExtraComprobante(campoExtraComprobante216);
				giroCE1320.setGiro(giro20);		
				giroCE1320.setFechaModificacion(Calendar.getInstance());
				giroCampoExtraComprobanteService.save(giroCE1320);*/
			}
			
			{
			Giro giro6 = new Giro();
			giro6.setDescripcion("CONSTRUCTORAS");
			giro6.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro6);
			/*
				GiroLeyenda giroLeyenda16 = new GiroLeyenda();
				Leyenda leyenda16 = new Leyenda();
				leyenda16.setFechaModificacion(Calendar.getInstance());
				leyenda16.setIdentificador("PER_EJE");
				leyenda16.setStatus(DBConstants.STATUS_ACTIVE);
				leyenda16.setTitulo("PERIODO DE EJECUCI\u00D3N");
				leyenda16.setValorPredeterminado("PERIODO DE EJECUCI\u00D3N");
				leyendaService.save(leyenda16);
				giroLeyenda16.setFechaModificacion(Calendar.getInstance());
				giroLeyenda16.setGiro(giro6);
				giroLeyenda16.setLeyenda(leyenda16);
				giroLeyendaService.save(giroLeyenda16);
				
				GiroLeyenda giroLeyenda26 = new GiroLeyenda();
				Leyenda leyenda26 = new Leyenda();
				leyenda26.setFechaModificacion(Calendar.getInstance());
				leyenda26.setIdentificador("AVA_FIS");
				leyenda26.setStatus(DBConstants.STATUS_ACTIVE);
				leyenda26.setTitulo("AVANCE F\u00CDSICO 43.11%");
				leyenda26.setValorPredeterminado("AVANCE F\u00CDSICO 43.11%");
				leyendaService.save(leyenda26);
				giroLeyenda26.setFechaModificacion(Calendar.getInstance());
				giroLeyenda26.setGiro(giro6);
				giroLeyenda26.setLeyenda(leyenda26);
				giroLeyendaService.save(giroLeyenda26);
				
				GiroFirma giroFirma16 = new GiroFirma();
				Firma firma16 = new Firma();
				firma16.setArea("");
				firma16.setFechaModificacion(Calendar.getInstance());
				firma16.setIdentificador("ADM_UNI");
				firma16.setNombre("");
				firma16.setPuesto("ADMINISTRADOR \u00DANICO");
				firma16.setStatus(DBConstants.STATUS_ACTIVE);
				firma16.setTitulo("");
				firmaService.save(firma16);
				giroFirma16.setFechaModificacion(Calendar.getInstance());
				giroFirma16.setFirma(firma16);
				giroFirma16.setGiro(giro6);
				giroFirmaService.save(giroFirma16);
				
				GiroFirma giroFirma26 = new GiroFirma();
				Firma firma26 = new Firma();
				firma26.setArea("");
				firma26.setFechaModificacion(Calendar.getInstance());
				firma26.setIdentificador("SEC_AGUA_SANEA");
				firma26.setNombre("");
				firma26.setPuesto("SUBSECRETARIO EJECUTIVO DE AGUA Y SANEAMIENTO");
				firma26.setStatus(DBConstants.STATUS_ACTIVE);
				firma26.setTitulo("");
				firmaService.save(firma26);
				giroFirma26.setFechaModificacion(Calendar.getInstance());
				giroFirma26.setFirma(firma26);
				giroFirma26.setGiro(giro6);
				giroFirmaService.save(giroFirma26);
				
				GiroDescuento giroDesc16 = new GiroDescuento();
				giroDesc16.setDescuento(desc17);
				giroDesc16.setGiro(giro6);
				giroDescuentoService.save(giroDesc16);
				
				GiroDescuento giroDesc26 = new GiroDescuento();
				Descuento desc26 = new Descuento();
				desc26.setDescripcion("MENOS AMORTIZACI\u00D3N");
				desc26.setFechaModificacion(Calendar.getInstance());
				desc26.setMonto(new Double(0));
				desc26.setStatus(DBConstants.STATUS_ACTIVE);
				descuentoService.save(desc26);
				giroDesc26.setDescuento(desc26);
				giroDesc26.setGiro(giro6);
				giroDescuentoService.save(giroDesc26);
				
				GiroImpuesto giroImp16 = new GiroImpuesto();
				Impuesto impuesto16 = new Impuesto();
				impuesto16.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto16.setFechaModificacion(Calendar.getInstance());
				impuesto16.setNombreImpuesto("CONTRALOR\u00CDA 0.5%");
				impuesto16.setSiglaImpuesto("CONTR");
				impuesto16.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto16.setTasa(new Double(0.5));
				impuesto16.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto16.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto16);
				giroImp16.setFechaModificacion(Calendar.getInstance());
				giroImp16.setGiro(giro6);
				giroImp16.setImpuesto(impuesto16);
				giroImpuestoService.save(giroImp16);
				
				GiroImpuesto giroImp26 = new GiroImpuesto();
				Impuesto impuesto26 = new Impuesto();
				impuesto26.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto26.setFechaModificacion(Calendar.getInstance());
				impuesto26.setNombreImpuesto("ESTADO 1%");
				impuesto26.setSiglaImpuesto("EDO");
				impuesto26.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto26.setTasa(new Double(1.0));
				impuesto26.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto26.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto26);
				giroImp26.setFechaModificacion(Calendar.getInstance());
				giroImp26.setGiro(giro6);
				giroImp26.setImpuesto(impuesto26);
				giroImpuestoService.save(giroImp26);
				
				GiroImpuesto giroImp36 = new GiroImpuesto();
				Impuesto impuesto36 = new Impuesto();
				impuesto36.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto36.setFechaModificacion(Calendar.getInstance());
				impuesto36.setNombreImpuesto("IMPO. SOBRE N\u00D3MINA 2%");
				impuesto36.setSiglaImpuesto("IMP_SOB_NOM");
				impuesto36.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto36.setTasa(new Double(2.0));
				impuesto36.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto36.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto36);
				giroImp36.setFechaModificacion(Calendar.getInstance());
				giroImp36.setGiro(giro6);
				giroImp36.setImpuesto(impuesto36);
				giroImpuestoService.save(giroImp36);
				
				GiroImpuesto giroImp46 = new GiroImpuesto();
				Impuesto impuesto46 = new Impuesto();
				impuesto46.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto46.setFechaModificacion(Calendar.getInstance());
				impuesto46.setNombreImpuesto("DONATIVO AL CCCCH 0.5%");
				impuesto46.setSiglaImpuesto("CCCCH");
				impuesto46.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto46.setTasa(new Double(0.5));
				impuesto46.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto46.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto46);
				giroImp46.setFechaModificacion(Calendar.getInstance());
				giroImp46.setGiro(giro6);
				giroImp46.setImpuesto(impuesto46);
				giroImpuestoService.save(giroImp46);
				
				GiroImpuesto giroImp56 = new GiroImpuesto();
				Impuesto impuesto56 = new Impuesto();
				impuesto56.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_LOCAL);
				impuesto56.setFechaModificacion(Calendar.getInstance());
				impuesto56.setNombreImpuesto("DEDUCCIONES 0.5% INSPECCI\u00D3N Y VIGILANCIA");
				impuesto56.setSiglaImpuesto("DED_INS_VIG");
				impuesto56.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto56.setTasa(new Double(0.5));
				impuesto56.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_RETENIDO);
				impuesto56.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto56);
				giroImp56.setFechaModificacion(Calendar.getInstance());
				giroImp56.setGiro(giro6);
				giroImp56.setImpuesto(impuesto56);
				giroImpuestoService.save(giroImp56);
				
				GiroImpuesto giroImp66 = new GiroImpuesto();
				Impuesto impuesto66 = new Impuesto();
				impuesto66.setCategoriaImpuesto(Impuesto.CATEGORIA_IMPUESTO_FEDERAL);
				impuesto66.setFechaModificacion(Calendar.getInstance());
				impuesto66.setNombreImpuesto("ISR TRASLADO 5%");
				impuesto66.setSiglaImpuesto("ISR_TRAS");
				impuesto66.setStatus(DBConstants.STATUS_ACTIVE);
				impuesto66.setTasa(new Double(5.0));
				impuesto66.setTipoImpuesto(Impuesto.TIPO_IMPUESTO_TRASLADO);
				impuesto66.setImpuestoPorDefecto(true);
				impuestoService.save(impuesto66);
				giroImp66.setFechaModificacion(Calendar.getInstance());
				giroImp66.setGiro(giro6);
				giroImp46.setImpuesto(impuesto46);
				giroImpuestoService.save(giroImp46);
				
				GiroImpuesto giroImp76 = new GiroImpuesto();
				giroImp76.setFechaModificacion(Calendar.getInstance());
				giroImp76.setGiro(giro6);
				giroImp76.setImpuesto(impuesto11);
				giroImpuestoService.save(giroImp76);*/
			}
			
			Giro giro12 = new Giro();
			giro12.setDescripcion("GENERAL");
			giro12.setFechaModificacion(Calendar.getInstance());
			giro12.setIsDefault(true);
			giroService.save(giro12);	
			
			{
			Giro giro22 = new Giro();
			giro22.setDescripcion("RENTA, VENTA, SERVICIO Y MANTENIMIENTO DE EQUIPOS DE COCINA INDUSTRIAL");
			giro22.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro22);		
			}
			
			{
			Giro giro23 = new Giro();
			giro23.setDescripcion("ELABORACI\u00D3N DE PRENDAS EN TEJIDO DE PUNTO");
			giro23.setFechaModificacion(Calendar.getInstance());
			giroService.save(giro23);
			}
		}
	}
	
	private void createLeyendasFiscales(){/*
		LeyendaFiscal leyendaFiscal = new LeyendaFiscal();
		leyendaFiscal.setIdentificador("donat");
		//leyendaFiscal.setStatus(0);
		leyendaFiscal.setTitulo("Donataria");
		leyendaFiscal.setValorPredeterminado("Este comprobante ampara un donativo, el cual ser\u00E1 destinado por la donataria a los fines
		 propios de su objeto social. En el caso de que los bienes donados hayan sido deducidos previamente para los efectos del impuesto sobre la
		  renta, este donativo no es deducible. La reproducci\u00F3n no autorizada de este comprobante constituye un delito en 
		  los t\u00E9rminos de las disposiciones fiscales.");
		leyendaFiscal.setValorPersonalizado("");
		getLeyendaFiscalService.save(leyendaFiscal);*/
		
		/*String leyendaFacturaACredito = "Esta factura deber\u00E1 ser pagada en una sola exhibici\u00F3n y ser\u00E1 v\u00E1lida" +
		" si muestra la cantidad impresa por m\u00E1quina registradora o sello y firma del cajero o bien, comprobante de pago, o de dep\u00F3sito" +
		" o transferencia SPEI bancaria con cuenta destino asignada por [razon social emisor] para este proposito. El pago de esta factura" +
		" no libera al cliente de adeudos anteriores o de consumos no incluidos en la misma. Los t\u00EDtulos de cr\u00E9dito dados en pago por" +
		" el suscriptor, en los casos autorizados, ser\u00E1n recibidos bajo la condici\u00F3n salvo buen cobro. Con base en el Art\u00EDculo de la Ley" +
		" General de T\u00EDtulos de Operaciones de Cr\u00E9dito, [razon social emisor] cobra el 20% de indemnizaci\u00F3n por concepto de Cheques Devueltos.";
		leyendaFiscal = new LeyendaFiscal();
		leyendaFiscal.setIdentificador("factCredito");
		//leyendaFiscal.setStatus(0);
		leyendaFiscal.setTitulo("Factura a Cr\u00E9dito");
		leyendaFiscal.setValorPredeterminado(leyendaFacturaACredito);
		leyendaFiscal.setValorPersonalizado("");
		getLeyendaFiscalService.save(leyendaFiscal);*/
		
		/*String leyendaFacturaPagare = "Debo(emos) y pagare(mos) incondicionalemente, a la vista y a la orden de" +
		" [razon social emisor] la cantidad anotada en esta factura, en la ciudad de [ciudad emisor], si no fuere pagado satisfactoriamente" +
		" este pagar\u00E9 me(nos) obligo(amos) a pagar durante todo el tiempo que permaneciera total o parcialmente insoluto, intereses" +
		" moratorios a raz\u00F3n del [porcentaje pagare]% mensual sin que por esto considere prorrogado el plazo fijado para cumplir esta" +
		" obligaci\u00F3n. LA FIRMA DE ESTE COMPROBANTE DARA COMO ACEPTADO ESTE PAGARE.";
		leyendaFiscal = new LeyendaFiscal();
		leyendaFiscal.setIdentificador("pagare");
		//leyendaFiscal.setStatus(0);
		leyendaFiscal.setTitulo("Pagar\u00E9");
		leyendaFiscal.setValorPredeterminado(leyendaFacturaPagare);
		leyendaFiscal.setValorPersonalizado("");
		getLeyendaFiscalService.save(leyendaFiscal);*/
	}
	
	private void fillUnidadMedida() {
		List<UnidadMedida> unidadMedidaList = getUnidadMedidaService.getAll();
		if (unidadMedidaList != null && unidadMedidaList.isEmpty()) {
			UnidadMedida unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Kilo");
			unidadMedida.setAbreviatura("Kg");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Gramo");
			unidadMedida.setAbreviatura("Gr");		
			getUnidadMedidaService.save(unidadMedida);

			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Metro Lineal");
			unidadMedida.setAbreviatura("m");		
			getUnidadMedidaService.save(unidadMedida);

			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Metro cuadrado");
			unidadMedida.setAbreviatura("m2");		
			getUnidadMedidaService.save(unidadMedida);	
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Metro cubico");
			unidadMedida.setAbreviatura("m3");		
			getUnidadMedidaService.save(unidadMedida);
			
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Cabeza");
			unidadMedida.setAbreviatura("Cabeza");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Litro");
			unidadMedida.setAbreviatura("L");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Par");
			unidadMedida.setAbreviatura("Par");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Kilowatt");
			unidadMedida.setAbreviatura("KW");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Millar");
			unidadMedida.setAbreviatura("mi");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Juego");
			unidadMedida.setAbreviatura("Juego");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Kilowatt/Hora");
			unidadMedida.setAbreviatura("KWh");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Tonelada");
			unidadMedida.setAbreviatura("t");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Barril");
			unidadMedida.setAbreviatura("bbl");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Gramo Neto");
			unidadMedida.setAbreviatura("g");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Decenas");
			unidadMedida.setAbreviatura("Decenas");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Cientos");
			unidadMedida.setAbreviatura("Cientos");		
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Docenas");
			unidadMedida.setAbreviatura("Docenas");
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Caja");
			unidadMedida.setAbreviatura("Caja");
			getUnidadMedidaService.save(unidadMedida);
			
			unidadMedida = new UnidadMedida();
			unidadMedida.setNombreUnidadMedida("Botella");
			unidadMedida.setAbreviatura("Botella");
			getUnidadMedidaService.save(unidadMedida);
		}
	}
	
	private void fillMonedas() {
		List<EstructuraMoneda> eMonedaList = getEstructuraMonedaService.getAll();
		if (eMonedaList != null && eMonedaList.isEmpty()) {
			/** Peso Mexicano */
			EstructuraMoneda estructuraMoneda = new EstructuraMoneda();
			estructuraMoneda.setNegocio(null);
			estructuraMoneda.setNombreMoneda("Moneda Nacional (Peso Mexicano)");
			estructuraMoneda.setClaveInternacional("MXN");
			estructuraMoneda.setTipoMonedaSingular("Peso");
			estructuraMoneda.setTipoMonedaPlural("Pesos");
			estructuraMoneda.setTipoCambio(null);
			getEstructuraMonedaService.save(estructuraMoneda);
			
			/** Dolar Estadounidense */
			estructuraMoneda = new EstructuraMoneda();
			estructuraMoneda.setNegocio(null);
			estructuraMoneda.setNombreMoneda("Dolar Estadounidense");
			estructuraMoneda.setClaveInternacional("USD");
			estructuraMoneda.setTipoMonedaSingular("Dolar");
			estructuraMoneda.setTipoMonedaPlural("Dolares");
			estructuraMoneda.setTipoCambio(null);
			getEstructuraMonedaService.save(estructuraMoneda);
			
			/** Euro */
			estructuraMoneda = new EstructuraMoneda();
			estructuraMoneda.setNegocio(null);
			estructuraMoneda.setNombreMoneda("Euro");
			estructuraMoneda.setClaveInternacional("EUR");
			estructuraMoneda.setTipoMonedaSingular("Euro");
			estructuraMoneda.setTipoMonedaPlural("Euros");
			estructuraMoneda.setTipoCambio(null);
			getEstructuraMonedaService.save(estructuraMoneda);
		}
	}
	
	private void fillCountriesStatesAndCities() {
		
		List<Pais> paisList = paisService.getAll();
		
		if (paisList == null || paisList.isEmpty()) {
			Pais pais = new Pais();
			pais.setAbreviatura("MX");
			pais.setPais("M\u00E9xico");
			paisService.save(pais);
			
			Estado estado = new Estado();
			estado.setEstado("Aguascalientes");
			estado.setPais(pais);
			estadoService.save(estado);
						
				
			estado = new Estado();
			estado.setEstado("Baja California");
			estado.setPais(pais);
			estadoService.save(estado);
						

			estado = new Estado();
			estado.setEstado("Baja California Sur");
			estado.setPais(pais);
			estadoService.save(estado);
					
			estado = new Estado();		
			estado.setEstado("Campeche");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Chiapas");
			estado.setPais(pais);
			estadoService.save(estado);			
						
			estado = new Estado();
			estado.setEstado("Chihuahua");
			estado.setPais(pais);
			estadoService.save(estado);
								
			estado = new Estado();
			estado.setEstado("Coahuila");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Colima");
			estado.setPais(pais);
			estadoService.save(estado);			
					
			
			estado = new Estado();
			estado.setEstado("Distrito Federal");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Durango");
			estado.setPais(pais);
			estadoService.save(estado);

			estado = new Estado();
			estado.setEstado("Guanajuato");
			estado.setPais(pais);
			estadoService.save(estado);
									
			estado = new Estado();
			estado.setEstado("Guerrero");
			estado.setPais(pais);
			estadoService.save(estado);

			estado = new Estado();
			estado.setEstado("Guerrero");
			estado.setPais(pais);
			estadoService.save(estado);
		
			estado = new Estado();
			estado.setEstado("Jalisco");
			estado.setPais(pais);
			estadoService.save(estado);
			estado = new Estado();
			estado.setEstado("M\u00E9xico");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Michoac\u00E1n");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Morelos");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Nayarit");
			estado.setPais(pais);
			estadoService.save(estado);

			estado = new Estado();
			estado.setEstado("Nuevo Le\u00F3n");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Oaxaca");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Puebla");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Quer\u00E9taro");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("San Luis Potos\u00ED");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Sinaloa");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Sonora");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Tabasco");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Tamaulipas");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Tlaxcala");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Veracruz");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Yucat\u00E1n");
			estado.setPais(pais);
			estadoService.save(estado);
			
			estado = new Estado();
			estado.setEstado("Zacatecas");
			estado.setPais(pais);
			estadoService.save(estado);	
		}
		
	}
}
